package cc.mallet.pipe.iterator;
import cc.mallet.types.Instance;
import org.codehaus.jackson.JsonNode;
import java.io.LineNumberReader;
import java.io.Reader;
import java.util.Iterator;
import java.util.regex.Pattern;
/**
* Created with IntelliJ IDEA.
* User: oyiptong
* Date: 2012-08-15
* Time: 10:53 AM
*/
public class JsonIterator implements Iterator<Instance> {
private JsonNode jsonData;
private Iterator<JsonNode> jsonIterator;
public JsonIterator(JsonNode jsonData)
{
this.jsonData = jsonData;
this.jsonIterator = jsonData.iterator();
}
public Instance next()
{
JsonNode currentNode = jsonIterator.next();
String name = currentNode.get("name").getTextValue();
String text = currentNode.get("text").getTextValue();
String group = currentNode.get("group").getTextValue();
Instance carrier = new Instance(text, group, name, null);
return carrier;
}
public boolean hasNext()
{
return jsonIterator.hasNext();
}
public void remove ()
{
throw new IllegalStateException ("This Iterator<Instance> does not support remove().");
}
}